﻿using OdaOperation.Core.Creators;
using OdaOperation.Core.Parameters;
using OdaOperation.DB;
using Teigha.TD;

namespace OdaOperation.Extends
{
    /// <summary>
    /// 双引文
    /// </summary>
    public static class DoubleCitationExtend
    {
        /// <summary>
        /// 扩展方法：为 DbDatabase 添加一个 DoubleCitationCreate 方法，无参数版本
        /// </summary>
        /// <param name="db"></param>
        /// <returns></returns>
        public static DoubleCitationCreator DoubleCitationCreate(this DbDatabase db)
        {
            // 返回一个新的 DoubleCitationCreator 对象，传入数据库实例
            return new DoubleCitationCreator(db.Database);
        }

        /// <summary>
        /// 扩展方法：为 DbDatabase 添加一个 DoubleCitationCreate 方法，带有 DoubleCitationParameter 参数版本
        /// </summary>
        /// <param name="db"></param>
        /// <param name="parameter"></param>
        /// <returns></returns>
        public static DoubleCitationCreator DoubleCitationCreate(this DbDatabase db, DoubleCitationParameter parameter)
        {
            // 创建一个新的 DoubleCitationCreator 对象，传入数据库实例
            DoubleCitationCreator doubleCitationCreator = new DoubleCitationCreator(db.Database);

            // 使用传入的参数创建引用
            doubleCitationCreator.Create(parameter);

            // 返回创建好的 DoubleCitationCreator 对象
            return doubleCitationCreator;
        }
    }
}